思考: n個のScrapbox import用jsonを1個のファイルにマージする
from n個のScrapbox import用jsonを1個のファイルにマージする
Scrapboxにインポートするための2つのjsonがある
code:本A.json
{ "pages": [
{
"title": "本A P001",
"lines": { "text": "本A P001" }, { "text": "本文…" }, ...(略)
},
{
"title": "本A P002",
"lines": { "text": "本A P002" }, { "text": "本文…" }, ...(略)
},
...(略)
]}
code:本B.json
{ "pages": [
{
"title": "本B P001",
"lines": { "text": "本B P001" }, { "text": "本文…" }, ...(略)
},
{
"title": "本B P002",
"lines": { "text": "本B P002" }, { "text": "本文…" }, ...(略)
},
...(略)
]}
2ファイルなら2回インポートをすればよいが、nファイルになると1度で済ませたい
どう1つにするか
jsonの特定のkeyに値をマージするには
jqコマンドでできる?
できそう
という事は以下の手順で処理すればnつのjsonを1つのjsonにマージできそう
jsonファイルを取得
jsonをパースして特定keyの中身を取り出す
並べて配列にする
元のjsonオブジェクトに戻す
上記の手順を本A.jsonと本B.jsonの仕様で考えると
本A.jsonと本B.jsonをそれぞれ取得
jsonをパースしてpageskeyの配列を取り出す
並べて配列にする
pageskeyに戻す
ファイルを取得する際に困った
最初はlsとかで取得しようと思っていたが、スペースが含まれるファイルが混じる時に困る
これ何度かハマった記憶がある…
findで一覧取得してxargsで1ファイルずつ処理するんだっけ…?